Thema: Expanding Horizons

Digital transformation - Using behavior driven development (BDD) in agile development processes or ... Do we understand each other?

Behavior Driven Development mehr als nur verhaltensgetriebene Softwareentwicklung
Im Zuge einer digitalen Transformation in einem Unternehmen werden verstärkt agile Entwicklungsmethoden eingesetzt. Diese ermöglichen es flexibel auf Anforderungen und externe Rahmenbedingungen reagieren zu können, aber stellen Teams auch vor neue Herausforderungen. Spezifikationen sind häufig anfangs unvollständig und werden nachträglich geändert, sodass ein hoher Anpassungsbedarf in der Entwicklung sowie Qualitätssicherung besteht. Die strikte Trennung von Fachlichkeit und Technik erschweren, ein kollektives Verständnis der gesamten Anwendung. Unterschiede im Sprach- und Schriftgebrauch der einzelnen Teammitglieder lassen oftmals durch fehlende Eindeutigkeit Interpretationsspielraum und führen zu Missverständnissen.

Insgesamt kann dies in einer geringen Anforderungsqualität resultieren. Klassische Strategien der agilen Entwicklung sehen die Implementierung von Tests am Ende des Workflows vor wie auch in Wasserfall oder V-Modellen. Zum Ende eins Projekts entstehen jedoch oft zeitliche Engpässe, die häufig zu einer Reduktion der Testkapazitäten und somit auch der Gesamtqualität führen. Weiterhin erfordert hinreichende Dokumentation zusätzlichen, manuellen Aufwand, welcher sich zeit- und kostenintensiv gestaltet. Viele dieser Problemstellungen lassen sich jedoch oftmals auch auf mangelnde Kommunikation zurückführen.

Mit Hilfe von Behavior Driven Development (BDD) wird diesen Problematiken Rechnung getragen. Im BDD werden alle Entwicklungsbeteiligten gemeinsam in die Verantwortung für eine Anforderung genommen. Durch fokussierte Gespräche werden Anforderungsdefizite früh im Entwicklungsprozess ausgeräumt und Unklarheiten durch gemeinsame Formulierung der Anforderung unterbunden. Die Entwicklung und der dazugehörige Test greifen so auf ein stabiles und solides Anforderungsfundament zurück.

Die einfache formalisierte gemeinsam Sprache „Gherkin“, welche alle Beteiligten durch das Cucumber Framework nutzen, fördert die Vermeidung von Missverständnissen und schafft Eindeutigkeit. Diese gemeinsame Sprache dient zusätzlich als Verbindung zwischen Fachlichkeit und Technik, ist modular und flexibel aufgebaut, sodass nachträgliche Änderungen keine Herausforderung darstellen. Dies erleichtert die Aufwandsschätzung ungemein, vereinfacht die Testautomatisierung und ermöglicht eine lebendige Dokumentation. Letztlich wird eine Brücke zum Test Driven Development geschaffen und der Shift-Left-, sowie Test-First-Ansatz, welche für die Verlagerung der Testaktivitäten an den Anfang eines Entwicklungszyklus stehen, gestärkt.

In dem Vortrag „digital transformation - Using behavior driven development (BDD) in agile development processes or ... Do we understand each other?“ werden zunächst die Handlungsfelder und Herausforderungen benannt sowie analysiert. Im Anschluss wird der Aufbau der BDD Methodik im Detail erläutert und die jeweiligen Teilaspekte an Beispielen dargestellt. Hierbei werden die dazugehörigen sprachlichen und technischen Werkzeuge veranschaulicht. Dem folgt ein ausführlicher Erfahrungsbericht der Vorteile, Herausforderungen und „Lessons Learned“ an einem realen Fall aus der Versicherungsbranche. Der Vortrag endet mit einem Fazit der Methodik und der dazugehörigen Vorgehensweise, und gibt einen Ausblick auf weitere methodische Entwicklungen.

Christopher Koch

Christopher Koch ist IT-Berater bei der ITGAIN Consulting Gesellschaft für IT-Beratung mbH.

Er hat ein abgeschlossenes Masterstudium im Bereich der Wirtschaftsinformatik. Christopher Koch verfügt über 5 Jahre Berufserfahrung in den Bereichen Test- und Qualitätsmanagement im Schwerpunkt Banken und Versicherungen.

Seine/Ihre besondere Expertise liegt in Testmethoden und -automatisierung.
Fachvorträge auf der ITGAIN Akademie runden sein Portfolio ab.